﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Pifagor.IG;

namespace Pifagor.Runtime
{
	class ExecutionContext
	{
		public IGFile IG { get; set; }

		public Interpreter Interpreter { get; set; }

		public Value FunctionArgument { get; private set; }

		public ExecutionContext SetFunctionArgument(Value functionArgument)
		{
			return new ExecutionContext { 
				IG = IG,
				Interpreter = Interpreter,
				FunctionArgument = functionArgument
			};
		}

		public ExecutionContext SetIG(IGFile _IG)
		{
			return new ExecutionContext
			{
				IG = _IG,
				Interpreter = Interpreter,
				FunctionArgument = FunctionArgument
			};
		}
	}
}
